package model.collisions.effects;

import model.collisions.Collisionable;
import model.exceptions.ModelExceptions;

/**
 * La interfaz de efecto de colision.
 * El la clase debe conocer que objeto es el que finalmente va a recibir, para aplicar los efectos correctos
 */
public interface CollisionEffect {
	
	/**
	 * Apply from to.
	 * Aplica los efectos del colisionador al colisionado. Los resultados dependen del tipo particular de efecto.
	 *
	 * @param collisionee el elemento Colisionado
	 * @param collisioner el elemento Colisionador
	 * @throws ModelExceptions
	 */
	public void applyFromTo( Collisionable collisionee, Collisionable collisioner ) throws ModelExceptions;
}